<html>
<head><meta charset="utf-8"><title>sprint coordination Aug 3 to Aug 5 · t-compiler/wg-polonius · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/index.html">t-compiler/wg-polonius</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html">sprint coordination Aug 3 to Aug 5</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="205793323"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205793323" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205793323">(Aug 03 2020 at 13:29)</a>:</h4>
<p>Let's use this stream to coordinate activities during the sprint?</p>



<a name="205793408"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205793408" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205793408">(Aug 03 2020 at 13:30)</a>:</h4>
<p>yes :) cc <span class="user-mention" data-user-id="204115">@Albin Stjerna</span></p>



<a name="205793423"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205793423" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205793423">(Aug 03 2020 at 13:30)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116113">lqd</span> <a href="#narrow/stream/186049-t-compiler.2Fwg-polonius/topic/sprint.20week/near/198209577">said</a>:</p>
<blockquote>
<p>as for agenda, what I had in mind was:</p>
<ul>
<li>(go over some of the recent work I've done (which I have yet to open PRs for anyway))</li>
<li>a bit of planning / design: I'd like to talk with you all about our plans, especially about some of the feature parity work we're doing, which might have an unavoidable cost. That's absolutely fine for a reference implementation, say, but maybe not for production. We're redoing some dataflow work, in a more general setting which cannot take advantage of the dataflow setting, i.e oversimplifying, there's no super easy way to take advantage of computing over a CFG rather than an arbitrary relation.</li>
<li>talk about the "Locations::All" fix I had in mind and prototyped, and how it impacts our rules</li>
<li>computing subset errors in the optimized variant (which I'd like to keep for now even if Niko probably wouldn't want to :)</li>
<li>I walked through the valley of the shadow of death while looking at NLLs performance on the whole clap crate, so maybe talk about location-insensitivity, how I think we could do it outside of datafrog  since it's in my mind actually just a case of graph traversal here, etc (which I also have prototyped)</li>
<li>(if, and it's a big if, I manage to actually <em>achieve</em> anything with them: maybe talk about the other ideas I had wrt polonius' model itself -- and if I don't you'll never hear about this again)</li>
<li>maybe some design work for niko, about the equality variant :) check the couple rules I "had" to add to it, maybe we try to understand why one or two rustc tests failed with the variant, those kinds of things</li>
<li>actually emit the move errors to validate our rules, I haven't been able to look at this yet so it'd be reassuring to do so</li>
</ul>
</blockquote>



<a name="205793473"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205793473" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205793473">(Aug 03 2020 at 13:30)</a>:</h4>
<p>I'd be curious to get a bit of an update from <span class="user-mention" data-user-id="116113">@lqd</span> on the status of things, I saw mention of "datapond" which I take it is the "datalog-to-datafrog" compiler you were hacking on?</p>



<a name="205793491"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205793491" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205793491">(Aug 03 2020 at 13:31)</a>:</h4>
<p>exactly</p>



<a name="205793503"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205793503" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205793503">(Aug 03 2020 at 13:31)</a>:</h4>
<p>so here goes</p>



<a name="205793547"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205793547" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205793547">(Aug 03 2020 at 13:31)</a>:</h4>
<p><a href="https://hackmd.io/CGMNjt1hR_qYtsR9hgdGmw">master hackmd with polonius rules</a> -- is this still up to date?</p>



<a name="205793636"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205793636" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205793636">(Aug 03 2020 at 13:32)</a>:</h4>
<p>I think so yes</p>



<a name="205793665"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205793665" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205793665">(Aug 03 2020 at 13:32)</a>:</h4>
<p>although the code itself doesn't all have the new naming from the hackmd</p>



<a name="205793674"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205793674" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205793674">(Aug 03 2020 at 13:32)</a>:</h4>
<p>(not to interrupt, I'm wondering if a good 1st step would be trying to create a skill-tree sort of thing for polonius)</p>



<a name="205793701"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205793701" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205793701">(Aug 03 2020 at 13:32)</a>:</h4>
<p>anyway, carry on</p>



<a name="205793712"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205793712" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205793712">(Aug 03 2020 at 13:32)</a>:</h4>
<p>status: all in all we're not far from a MVP of sorts, but some issues remain:</p>



<a name="205793767"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205793767" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205793767">(Aug 03 2020 at 13:33)</a>:</h4>
<p>1) move errors: polonius emits them, but rustc doesn't read what polonius emits nor emits them</p>



<a name="205793826"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205793826" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205793826">(Aug 03 2020 at 13:34)</a>:</h4>
<ul>
<li>there's likely a problem of efficiency with them as well: it's very slow on clap (1-2 mins)</li>
</ul>



<a name="205793974"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205793974" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205793974">(Aug 03 2020 at 13:35)</a>:</h4>
<ul>
<li>the fix I did switching the location of an emitted fact (from mid to start point) to avoid false positives for move errors along edges crossing blocks may have unintended consequences (even though the polonius test still kind passed but see next point)</li>
</ul>



<a name="205794057"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205794057" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205794057">(Aug 03 2020 at 13:36)</a>:</h4>
<ul>
<li>they are not especially well tested in polonius, as we intended to use rustc's tests for that, and as mentioned earlier, rustc doesn't emit them yet</li>
<li>a researcher using Polonius with dafny mentioned that our current rules about move errors apparently miss partial initialization</li>
</ul>



<a name="205794260"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205794260" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205794260">(Aug 03 2020 at 13:37)</a>:</h4>
<p>(- I remember while you and Albin were coming up with the rules for move errors last sprint, at some point you mentioned some possible mismatch between datalog and a regular dataflow computation for init/unit variables, so it may cause the inefficiency problem you had anticipated)</p>



<a name="205794348"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205794348" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205794348">(Aug 03 2020 at 13:38)</a>:</h4>
<p>hmm ok :)</p>



<a name="205794379"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205794379" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205794379">(Aug 03 2020 at 13:38)</a>:</h4>
<p>I'm sure it'll come back to me</p>



<a name="205794442"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205794442" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205794442">(Aug 03 2020 at 13:38)</a>:</h4>
<p>I recall something about intersections of sets</p>



<a name="205794485"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205794485" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205794485">(Aug 03 2020 at 13:39)</a>:</h4>
<p>but not important</p>



<a name="205794516"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205794516" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205794516">(Aug 03 2020 at 13:39)</a>:</h4>
<p>2) subset errors: last time we did the implementation using placeholder loans</p>



<a name="205794631"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205794631" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205794631">(Aug 03 2020 at 13:40)</a>:</h4>
<ul>
<li>there are no "potential subset errors" computed in the location insensitive analysis yet, therefore no fast pre-pass</li>
</ul>



<a name="205794646"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205794646" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205794646">(Aug 03 2020 at 13:40)</a>:</h4>
<ul>
<li>they are not computed in the opt variant either</li>
</ul>



<a name="205794679"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205794679" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205794679">(Aug 03 2020 at 13:40)</a>:</h4>
<p>(- I have prototypes for both of these)</p>



<a name="205794741"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205794741" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205794741">(Aug 03 2020 at 13:41)</a>:</h4>
<ul>
<li>I'm not sure we should be using placeholder loans vs rules about subsets</li>
</ul>



<a name="205794795"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205794795" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205794795">(Aug 03 2020 at 13:41)</a>:</h4>
<p>I remember that we talked about the discrepancy on partial initialisation</p>



<a name="205794847"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205794847" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205794847">(Aug 03 2020 at 13:42)</a>:</h4>
<p>oops I forgot that</p>



<a name="205794890"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205794890" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205794890">(Aug 03 2020 at 13:42)</a>:</h4>
<p>But Helpful Person I Forget Their Name Now submitted a patch for that, right?</p>



<a name="205794988"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205794988" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205794988">(Aug 03 2020 at 13:43)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116113">lqd</span> <a href="#narrow/stream/186049-t-compiler.2Fwg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205/near/205794741">said</a>:</p>
<blockquote>
<ul>
<li>I'm not sure we should be using placeholder loans vs rules about subsets</li>
</ul>
</blockquote>
<p>I wonder if <span class="user-mention" data-user-id="127262">@Aaron Weiss</span> is around</p>



<a name="205795012"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205795012" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205795012">(Aug 03 2020 at 13:43)</a>:</h4>
<p>utaal definitely opened an issue, let me find it</p>



<a name="205795043"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205795043" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205795043">(Aug 03 2020 at 13:43)</a>:</h4>
<p><a href="https://github.com/rust-lang/polonius/issues/152">https://github.com/rust-lang/polonius/issues/152</a></p>



<a name="205795125"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205795125" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205795125">(Aug 03 2020 at 13:44)</a>:</h4>
<p>with their own prototype for that indeed (which I haven't had the time to look at)</p>



<a name="205795209"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205795209" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205795209">(Aug 03 2020 at 13:45)</a>:</h4>
<p><a href="https://hackmd.io/c6ooQFV-QJilsmEE15FsKQ">sprint planning doc</a></p>



<a name="205795430"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205795430" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205795430">(Aug 03 2020 at 13:46)</a>:</h4>
<ul>
<li>continuing with subset errors: in the PR I did (or another fixing rustc tests expectation), there were definitely some cases, often related to closures or maybe involving higher ranks, where I wasn't sure whether there was an imprecision in polonius or if it was waiting for the chalk integration</li>
</ul>



<a name="205795589"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205795589" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205795589">(Aug 03 2020 at 13:48)</a>:</h4>
<p>3) OOMs during fact generation:</p>
<ul>
<li>the <code>Location::All</code> constraints are materialized as an outlives tuples duplicated at all points in the CFG, this causes OOMs in 2 rustc ui tests</li>
</ul>



<a name="205795746"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205795746" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205795746">(Aug 03 2020 at 13:49)</a>:</h4>
<ul>
<li>I have prototyped a fix (which I was trying to publish earlier) which moves those facts into a dedicated relation, and updated polonius' rules to use this new relation while hopefully not just moving the materializing of these facts when evaluating the rules</li>
</ul>



<a name="205795899"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205795899" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205795899">(Aug 03 2020 at 13:50)</a>:</h4>
<p>yeah, that's kind of a pain I imagine since it'll require some duplication of datalog rules</p>



<a name="205795925"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205795925" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205795925">(Aug 03 2020 at 13:50)</a>:</h4>
<p>(I wonder if we could extend datafrog somewhat to avoid that...)</p>



<a name="205795926"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205795926" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205795926">(Aug 03 2020 at 13:50)</a>:</h4>
<ul>
<li>however now it OOMs in polonius move errors analysis. I did test it on earlier polonius rev without move errors and it seemed to work ok, but as it's a subtle issue, and in general hard to test, it would be good to double check</li>
</ul>



<a name="205795957"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205795957" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205795957">(Aug 03 2020 at 13:51)</a>:</h4>
<p>yes it's indeed duplicating some rules</p>



<a name="205796115"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205796115" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205796115">(Aug 03 2020 at 13:52)</a>:</h4>
<p>the opt variant being the harder one and with the most duplication, the Naive one is less complicated, and the location insensitive one is of course trivial as this is just an outlives relation without points, which is what location insensitivity is all about :)</p>



<a name="205796202"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205796202" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205796202">(Aug 03 2020 at 13:52)</a>:</h4>
<p>ah yes so that's another question I remember now</p>



<a name="205796232"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205796232" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205796232">(Aug 03 2020 at 13:53)</a>:</h4>
<p>whether the opt variant "carries its weight", especially now</p>



<a name="205796260"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205796260" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205796260">(Aug 03 2020 at 13:53)</a>:</h4>
<p>and whether it would be better replaced with location-insensitivity-based optimizations</p>



<a name="205796273"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205796273" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205796273">(Aug 03 2020 at 13:53)</a>:</h4>
<p>(and/or, as you point out, perhaps a non-datalog based impl)</p>



<a name="205796317"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205796317" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205796317">(Aug 03 2020 at 13:53)</a>:</h4>
<p>it's an interesting question</p>



<a name="205796322"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205796322" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205796322">(Aug 03 2020 at 13:54)</a>:</h4>
<p>I'm somewhat inclined to remove it except if that means that we just can't run tests in practice, that'd be kind of a drag</p>



<a name="205796404"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205796404" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205796404">(Aug 03 2020 at 13:54)</a>:</h4>
<p>I think it's obviously better than the naive one</p>



<a name="205796513"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205796513" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205796513">(Aug 03 2020 at 13:55)</a>:</h4>
<p>I'm not sure we can afford to not limit the transitive closures like it does, but there may be different ways for that indeed</p>



<a name="205796561"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205796561" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205796561">(Aug 03 2020 at 13:55)</a>:</h4>
<p>ok so I tried to take down the points you mentioned in <a href="https://hackmd.io/c6ooQFV-QJilsmEE15FsKQ">the sprint tracking doc</a></p>



<a name="205796618"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205796618" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205796618">(Aug 03 2020 at 13:56)</a>:</h4>
<p>I threw in a few notes  at the end of my own :)</p>



<a name="205796630"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205796630" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205796630">(Aug 03 2020 at 13:56)</a>:</h4>
<p>I'm sure we need location insensitivity at the very least the location insensitive analysis is important</p>



<a name="205796679"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205796679" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205796679">(Aug 03 2020 at 13:56)</a>:</h4>
<p>right, I think the question is whether naive+insensitive is competitive with the opt variant</p>



<a name="205796689"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205796689" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205796689">(Aug 03 2020 at 13:56)</a>:</h4>
<p>that being said, I've prototyped transforming the location insensitive analysis with a bunch of graph traversal queries and it is much faster</p>



<a name="205796739"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205796739" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205796739">(Aug 03 2020 at 13:57)</a>:</h4>
<p>I'm not sure, and the problem is that there's a bit of uncertainty about benchmarks</p>



<a name="205796772"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205796772" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205796772">(Aug 03 2020 at 13:57)</a>:</h4>
<p>ah, I rememeber some longer term questions as well</p>



<a name="205796777"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205796777" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205796777">(Aug 03 2020 at 13:57)</a>:</h4>
<p>that is, clap is huge, and "accepted" by the pre-pass, that is, there are no potential errors</p>



<a name="205796787"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205796787" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205796787">(Aug 03 2020 at 13:57)</a>:</h4>
<p>e.g we never settled the precise rules around invariance</p>



<a name="205796889"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205796889" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205796889">(Aug 03 2020 at 13:58)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/186049-t-compiler.2Fwg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205/near/205796679">said</a>:</p>
<blockquote>
<p>right, I think the question is whether naive+insensitive is competitive with the opt variant</p>
</blockquote>
<p>I guess when I ask this what I really mean is "can you run the rustc test suite in reasnable time"</p>



<a name="205796909"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205796909" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205796909">(Aug 03 2020 at 13:58)</a>:</h4>
<p>that is to say, I'm sure it's not production quality</p>



<a name="205796957"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205796957" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205796957">(Aug 03 2020 at 13:58)</a>:</h4>
<p>the problem right now is that move errors heavily skew that timing</p>



<a name="205796973"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205796973" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205796973">(Aug 03 2020 at 13:59)</a>:</h4>
<p>I'm just concerned that maintaining multiple sets of rules is slowing us down on settling what the rules <em>should be</em></p>



<a name="205796994"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205796994" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205796994">(Aug 03 2020 at 13:59)</a>:</h4>
<p>right, and that's not even talking about the equality variant :)</p>



<a name="205797010"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205797010" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205797010">(Aug 03 2020 at 13:59)</a>:</h4>
<p>yeah, so maybe the answer is that (a) we should get the move error reporting working and (b) see if we can do some simple optimizations (e.g., location insensitive) to optimize it</p>



<a name="205797021"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205797021" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205797021">(Aug 03 2020 at 13:59)</a>:</h4>
<p>yes, it's that question thatI have in mind</p>



<a name="205797038"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205797038" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205797038">(Aug 03 2020 at 13:59)</a>:</h4>
<p>I guess that before we get to optimizing I'd like to settle the equality variant, partial init, and other outstanding questions</p>



<a name="205797114"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205797114" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205797114">(Aug 03 2020 at 14:00)</a>:</h4>
<p>and I think we all agree datalog is still a useful way to formulate the rules at least</p>



<a name="205797126"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205797126" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205797126">(Aug 03 2020 at 14:00)</a>:</h4>
<p>(i.e., as a "reference impl")</p>



<a name="205797141"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205797141" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205797141">(Aug 03 2020 at 14:00)</a>:</h4>
<p>at this point I'm wondering if we should even be computing move errors in datalog, rather than say using rustc dataflow framework, or even maybe computing them at all in polonius ?</p>



<a name="205797205"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205797205" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205797205">(Aug 03 2020 at 14:01)</a>:</h4>
<p>I guess it's a fair question.</p>



<a name="205797239"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205797239" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205797239">(Aug 03 2020 at 14:01)</a>:</h4>
<p>I wanted to have "all of the borrow checker" in polonius, but I'm not sure I can justify that</p>



<a name="205797278"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205797278" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205797278">(Aug 03 2020 at 14:01)</a>:</h4>
<p>it's a nice idea and has many benefits</p>



<a name="205797341"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205797341" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205797341">(Aug 03 2020 at 14:02)</a>:</h4>
<p>I guess I still believe that datalog can be made competitive, but that's not based on a lot of elbow grease :)</p>



<a name="205797359"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205797359" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205797359">(Aug 03 2020 at 14:02)</a>:</h4>
<p>I do wonder about that as well</p>



<a name="205797388"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205797388" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205797388">(Aug 03 2020 at 14:02)</a>:</h4>
<p>I remember Yannis not having a magic fix right ? :)</p>



<a name="205797465"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205797465" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205797465">(Aug 03 2020 at 14:03)</a>:</h4>
<p>no, but tbh it's always been a bit hard to really "hand off" the question, I think in part because the rules were not written up in a way that let us easily communicate them to other researchers somehow</p>



<a name="205797488"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205797488" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205797488">(Aug 03 2020 at 14:03)</a>:</h4>
<p>I do kind of feel like "hard to read datalog" is not obviously a win</p>



<a name="205797517"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205797517" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205797517">(Aug 03 2020 at 14:03)</a>:</h4>
<p>sure</p>



<a name="205797570"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205797570" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205797570">(Aug 03 2020 at 14:04)</a>:</h4>
<p><em>but</em> if we're talking about a "reference implementation", I do see value in having it contain the entire borrow checker</p>



<a name="205797627"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205797627" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205797627">(Aug 03 2020 at 14:04)</a>:</h4>
<p>still, in the interest of focusing on the most important things, I can see an argument for saying "ignore move errors"</p>



<a name="205797635"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205797635" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205797635">(Aug 03 2020 at 14:04)</a>:</h4>
<p>there are quite a few frameworks using datalog points-to analyses, and there doesn't seem, to my recollection, to be one that is "fast"</p>



<a name="205797657"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205797657" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205797657">(Aug 03 2020 at 14:04)</a>:</h4>
<p>there are many that claim to scale to very large codebases, but it's always hard to evaluate those claims</p>



<a name="205797674"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205797674" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205797674">(Aug 03 2020 at 14:05)</a>:</h4>
<p>right that's what I wanted to mention as well, how can we carve a path to the answers we need most</p>



<a name="205797744"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205797744" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205797744">(Aug 03 2020 at 14:06)</a>:</h4>
<p>which in my mind are: </p>
<ul>
<li>are those rules the ones we want, with respect to precision, flow sensitivity</li>
<li>is there a way for us to make a scalable implementation for these rules</li>
</ul>



<a name="205797807"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205797807" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Weiss <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205797807">(Aug 03 2020 at 14:06)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/186049-t-compiler.2Fwg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205/near/205794988">said</a>:</p>
<blockquote>
<p><span class="user-mention silent" data-user-id="116113">lqd</span> <a href="#narrow/stream/186049-t-compiler.2Fwg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205/near/205794741">said</a>:</p>
<blockquote>
<ul>
<li>I'm not sure we should be using placeholder loans vs rules about subsets</li>
</ul>
</blockquote>
<p>I wonder if <span class="user-mention silent" data-user-id="127262">Aaron Weiss</span> is around</p>
<div class="codehilite"><pre><span></span><code>I am now!
</code></pre></div>


</blockquote>



<a name="205797846"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205797846" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205797846">(Aug 03 2020 at 14:06)</a>:</h4>
<p><span class="user-mention" data-user-id="116113">@lqd</span> "those rules" refers to all of the rules?</p>



<a name="205797855"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205797855" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205797855">(Aug 03 2020 at 14:06)</a>:</h4>
<p>I think my impression of the "move error" rules is that there aren't that many "open questions"</p>



<a name="205797863"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205797863" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205797863">(Aug 03 2020 at 14:07)</a>:</h4>
<p>there is engineering effort</p>



<a name="205797896"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205797896" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205797896">(Aug 03 2020 at 14:07)</a>:</h4>
<p>I also remember talking to Yannis at SPLASH about my move error rules, and he said he'd look at them in case I could package something up, but I felt I never reached a state where I felt they wre "done enough" to talk to him about</p>



<a name="205797903"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205797903" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205797903">(Aug 03 2020 at 14:07)</a>:</h4>
<p>it seems like there are more open questions around the lifetime phase of the analysis</p>



<a name="205797910"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205797910" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205797910">(Aug 03 2020 at 14:07)</a>:</h4>
<p>yeah, sorry mostly the ones related to the polonius analysis, with the Naive variant we have, compared to the Equality variant</p>



<a name="205797944"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205797944" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205797944">(Aug 03 2020 at 14:08)</a>:</h4>
<p>that is, the impact they have on rust code</p>



<a name="205798013"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205798013" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205798013">(Aug 03 2020 at 14:08)</a>:</h4>
<p>right, it seems like the question of:</p>
<ul>
<li>do we want to do a placeholder-based analysis -- this is probably mostly a question of how we "formulate" the rules</li>
<li>subset vs equality based analysis -- this impacts users</li>
</ul>



<a name="205798029"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205798029" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205798029">(Aug 03 2020 at 14:08)</a>:</h4>
<p>those are not entirely well understood</p>



<a name="205798031"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205798031" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205798031">(Aug 03 2020 at 14:08)</a>:</h4>
<p>exactly</p>



<a name="205798066"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205798066" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205798066">(Aug 03 2020 at 14:09)</a>:</h4>
<p>still I feel like I'm not ready to cut out the move errors yet -- we're kind of "so close" with them :P</p>



<a name="205798074"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205798074" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205798074">(Aug 03 2020 at 14:09)</a>:</h4>
<p>and to then quantify the costs, both in our development time, but also the runtime of the analysis over whichever benchmarks</p>



<a name="205798261"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205798261" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205798261">(Aug 03 2020 at 14:11)</a>:</h4>
<p>how hard would it be to have an option to not do the move computation</p>



<a name="205798319"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205798319" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205798319">(Aug 03 2020 at 14:11)</a>:</h4>
<p>I'm trying to remember the interface, I remember we had some kind of hacks before that we were able to remove I guess</p>



<a name="205798323"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205798323" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205798323">(Aug 03 2020 at 14:11)</a>:</h4>
<p>we did have such an implementation before the current PR</p>



<a name="205798374"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205798374" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205798374">(Aug 03 2020 at 14:12)</a>:</h4>
<p>right</p>



<a name="205798408"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205798408" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205798408">(Aug 03 2020 at 14:12)</a>:</h4>
<p>it was mostly temporary to prepare for the move errors computation in polonius, and I'm not sure how it performed but it's doable as Albin did do it :)</p>



<a name="205798426"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205798426" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Weiss <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205798426">(Aug 03 2020 at 14:12)</a>:</h4>
<p>Sorry took me a bit to install Zulip mobile app since the webapp on mobile is very hard to use. re: placeholder loans vs subsets, Oxide in its latest rendition (which I’m going to push to arXiv tomorrow when I have internet again) fell on what I think would count as rules about subsets.</p>



<a name="205798450"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205798450" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205798450">(Aug 03 2020 at 14:12)</a>:</h4>
<p>interesting</p>



<a name="205798556"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205798556" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205798556">(Aug 03 2020 at 14:13)</a>:</h4>
<p>maybe <span class="user-mention" data-user-id="116113">@lqd</span> the right approach would be to focus on those two questions, and in general the subset analysis, but defer the question of the move analysis a bit</p>



<a name="205798639"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205798639" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205798639">(Aug 03 2020 at 14:14)</a>:</h4>
<p>I guess the question is whether some action on move errors is blocking other progress</p>



<a name="205798677"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205798677" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205798677">(Aug 03 2020 at 14:14)</a>:</h4>
<p>we can disable parts of the computation on the polonius side, so it's not super blocking</p>



<a name="205798696"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205798696" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205798696">(Aug 03 2020 at 14:14)</a>:</h4>
<p>(it computes both move errors and some init/uninit state used for liveness)</p>



<a name="205798784"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205798784" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205798784">(Aug 03 2020 at 14:15)</a>:</h4>
<p>there's definitely something appealing about having the entirety (or almost...) of the borrow check fit in one hackmd...</p>



<a name="205798795"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205798795" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205798795">(Aug 03 2020 at 14:15)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116113">lqd</span> <a href="#narrow/stream/186049-t-compiler.2Fwg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205/near/205798696">said</a>:</p>
<blockquote>
<p>(it computes both move errors and some init/uninit state used for liveness)</p>
</blockquote>
<p>right</p>



<a name="205798808"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205798808" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205798808">(Aug 03 2020 at 14:16)</a>:</h4>
<p>I was just skimming over the rules to bring them back in mind</p>



<a name="205798889"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205798889" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205798889">(Aug 03 2020 at 14:16)</a>:</h4>
<p>move errors aren't really borrow checking right ;)</p>



<a name="205798900"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205798900" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205798900">(Aug 03 2020 at 14:16)</a>:</h4>
<p>debatable I guess :)</p>



<a name="205798912"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205798912" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205798912">(Aug 03 2020 at 14:16)</a>:</h4>
<p>but yeah I totally understand</p>



<a name="205798956"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205798956" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205798956">(Aug 03 2020 at 14:17)</a>:</h4>
<p>and as documentation/reference implementation etc it will always be valuable even if we had to not use datalog per se</p>



<a name="205799010"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205799010" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205799010">(Aug 03 2020 at 14:17)</a>:</h4>
<p>I think I saw a minuscule, useless, inefficiency in rustc init/unit dataflow analyses thanks to our rules</p>



<a name="205799019"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205799019" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205799019">(Aug 03 2020 at 14:17)</a>:</h4>
<p>do you have a sense for which parts of the rules are accounting for performance?</p>



<a name="205799066"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205799066" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205799066">(Aug 03 2020 at 14:18)</a>:</h4>
<p>for move errors you mean ?</p>



<a name="205799089"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205799089" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205799089">(Aug 03 2020 at 14:18)</a>:</h4>
<p>yeah, or is it just "computing all those tuples"</p>



<a name="205799105"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205799105" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205799105">(Aug 03 2020 at 14:18)</a>:</h4>
<p>it does seem like they're probably ripe for a "location insensitive optimization"</p>



<a name="205799180"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205799180" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205799180">(Aug 03 2020 at 14:19)</a>:</h4>
<p>I haven't profiled at all, but it seemed to to compute a lot of intermediary state and cloning it</p>



<a name="205799182"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205799182" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205799182">(Aug 03 2020 at 14:19)</a>:</h4>
<p>though I have to thnk a bit about what that means ;)</p>



<a name="205799195"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205799195" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205799195">(Aug 03 2020 at 14:19)</a>:</h4>
<p>which is expected</p>



<a name="205799223"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205799223" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205799223">(Aug 03 2020 at 14:19)</a>:</h4>
<p>our CFGs are big, and such analyses are usually done per block</p>



<a name="205799261"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205799261" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205799261">(Aug 03 2020 at 14:19)</a>:</h4>
<p>yeah, ok, so one thing we're not doing is doing the iteration at the block level</p>



<a name="205799265"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205799265" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205799265">(Aug 03 2020 at 14:19)</a>:</h4>
<p>and optimizable when no cycles are present, etc etc</p>



<a name="205799350"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205799350" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205799350">(Aug 03 2020 at 14:20)</a>:</h4>
<p>we're also computing transitive closures across paths at each node</p>



<a name="205799370"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205799370" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205799370">(Aug 03 2020 at 14:20)</a>:</h4>
<p>i.e., if you access <code>a.b.c</code>, we also store tuples for accessing <code>a</code>, <code>a.b</code>, etc</p>



<a name="205799384"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205799384" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205799384">(Aug 03 2020 at 14:20)</a>:</h4>
<p>right</p>



<a name="205799391"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205799391" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205799391">(Aug 03 2020 at 14:20)</a>:</h4>
<p>you could imagine doing that differently</p>



<a name="205799403"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205799403" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205799403">(Aug 03 2020 at 14:20)</a>:</h4>
<p>though I don't recall what rustc does</p>



<a name="205799440"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205799440" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205799440">(Aug 03 2020 at 14:21)</a>:</h4>
<p>in any case we have multiple solutions for that situation</p>



<a name="205799488"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205799488" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205799488">(Aug 03 2020 at 14:21)</a>:</h4>
<p>("move errors are slow" situation, not the transitive paths accesses)</p>



<a name="205799553"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205799553" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205799553">(Aug 03 2020 at 14:22)</a>:</h4>
<p>regarding <a href="https://github.com/rust-lang/polonius/issues/152">https://github.com/rust-lang/polonius/issues/152</a> (assignments to partially initialized paths), it's true that we intentionally made the borrow checker less precise here</p>



<a name="205799596"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205799596" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205799596">(Aug 03 2020 at 14:22)</a>:</h4>
<p>I forget all the details of why, but probably we should make polonius match, seems like it wouldn't be hard to do</p>



<a name="205799651"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205799651" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205799651">(Aug 03 2020 at 14:23)</a>:</h4>
<p>ah I found the issue I was looking for, <a href="https://github.com/rust-lang/rust/issues/70797">https://github.com/rust-lang/rust/issues/70797</a> is the thing I was remembering when I was talking about the possible unintended consequence of the "move errors false positive fix" switching a fact location to the start point, and also fits in the theme "what rust code do our rules allow"</p>



<a name="205799739"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205799739" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205799739">(Aug 03 2020 at 14:23)</a>:</h4>
<p>I haven't checked whether it was valid/expected, but it was at least <em>a change</em></p>



<a name="205799824"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205799824" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205799824">(Aug 03 2020 at 14:24)</a>:</h4>
<p>interesting</p>



<a name="205799939"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205799939" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205799939">(Aug 03 2020 at 14:25)</a>:</h4>
<p>I don't remember how we ended up dealing with the same situation of user code expressiveness and limits during NLLs</p>



<a name="205799946"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205799946" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205799946">(Aug 03 2020 at 14:25)</a>:</h4>
<p>OK, so, I'm wondering what we should try to do first? =)</p>
<p>One thing would be to start a different topic and talk over the status of subsets and the placeholder vs region relations question</p>



<a name="205799977"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205799977" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205799977">(Aug 03 2020 at 14:25)</a>:</h4>
<p>Yeah, it'd be good to dig into that example and understand just what is going on</p>



<a name="205800025"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205800025" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205800025">(Aug 03 2020 at 14:26)</a>:</h4>
<p>it may also inform the question of whether to "package" move errors and subsets</p>



<a name="205800066"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205800066" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205800066">(Aug 03 2020 at 14:26)</a>:</h4>
<p>interesting</p>



<a name="205800103"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205800103" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205800103">(Aug 03 2020 at 14:26)</a>:</h4>
<p>I could try investigating too... as a way to remember what the heck is going on :)</p>



<a name="205800108"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205800108" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205800108">(Aug 03 2020 at 14:26)</a>:</h4>
<p>the status of subsets vs equality ?</p>



<a name="205800146"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205800146" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205800146">(Aug 03 2020 at 14:27)</a>:</h4>
<p>no, actually, that's not what I meant</p>



<a name="205800217"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205800217" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205800217">(Aug 03 2020 at 14:27)</a>:</h4>
<p>I guess I meant to go about the placeholder vs <del>regions</del> origins question,</p>



<a name="205800239"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205800239" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205800239">(Aug 03 2020 at 14:27)</a>:</h4>
<p>but also review a bit the status of those rules in polonius</p>



<a name="205800267"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205800267" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205800267">(Aug 03 2020 at 14:27)</a>:</h4>
<p>is <a href="https://hackmd.io/CGMNjt1hR_qYtsR9hgdGmw#Subset-and-contains-the-heart-of-the-borrow-check">https://hackmd.io/CGMNjt1hR_qYtsR9hgdGmw#Subset-and-contains-the-heart-of-the-borrow-check</a> reflecting the current rules as implemented?</p>



<a name="205800335"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205800335" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205800335">(Aug 03 2020 at 14:28)</a>:</h4>
<p>I am remembering our new terminology :)</p>



<a name="205800388"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205800388" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205800388">(Aug 03 2020 at 14:28)</a>:</h4>
<p>besides the new terminology, which I still am not accustomed to, I think so yes :)</p>



<a name="205800621"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205800621" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205800621">(Aug 03 2020 at 14:30)</a>:</h4>
<p>maybe those aren't finalized either, especially about "things that exist at all points" which we have hacked around in the data instead of the rules</p>



<a name="205800822"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205800822" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205800822">(Aug 03 2020 at 14:32)</a>:</h4>
<p>yes, ok</p>



<a name="205800830"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205800830" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205800830">(Aug 03 2020 at 14:32)</a>:</h4>
<p>(I mean I think we have updated the rules in the hackmd to be closer to what they used to be with souffé, but with new terminology, and not all those are completely finalized in the code)</p>



<a name="205800858"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205800858" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205800858">(Aug 03 2020 at 14:32)</a>:</h4>
<p>but that's just refactoring and duplicating rules, the spirit is the same</p>



<a name="205801092"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205801092" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205801092">(Aug 03 2020 at 14:34)</a>:</h4>
<p>about the "placeholder vs origins question" did you mean something like "placeholder loans vs origin subsets" ?</p>



<a name="205801102"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205801102" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205801102">(Aug 03 2020 at 14:34)</a>:</h4>
<p>I think my feeling on move errors is that, ultimately, I would like them to be computed by polonius, in part because I want there to be some library that people can use to run and access borrow check results that is extracted from rustc (as part of the library-ification efforts). But I am not sure of the time-frame. And, furthermore, it's hard to imagine that -- in the fullness of time -- it really makes sense to "copy out" the CFG from MIR into a bunch of tuples versus operating directly on it in some way.</p>



<a name="205801134"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205801134" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205801134">(Aug 03 2020 at 14:35)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116113">lqd</span> <a href="#narrow/stream/186049-t-compiler.2Fwg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205/near/205801092">said</a>:</p>
<blockquote>
<p>about the "placeholder vs origins question" did you mean something like "placeholder loans vs origin subsets" ?</p>
</blockquote>
<p>yes.</p>



<a name="205801147"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205801147" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205801147">(Aug 03 2020 at 14:35)</a>:</h4>
<p>so I think we should make the goal of this sprint being to have a definitive set of polonius rules</p>



<a name="205801169"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205801169" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205801169">(Aug 03 2020 at 14:35)</a>:</h4>
<p>is that plausible?</p>



<a name="205801182"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205801182" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205801182">(Aug 03 2020 at 14:35)</a>:</h4>
<p>I mean subject to a billion caveats ;)</p>



<a name="205801190"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205801190" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205801190">(Aug 03 2020 at 14:35)</a>:</h4>
<p>:)</p>



<a name="205801266"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205801266" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205801266">(Aug 03 2020 at 14:36)</a>:</h4>
<p>would definitive set imply knowing whether these rules as-is are to be preferred to the equality variant ones ?</p>



<a name="205801274"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205801274" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205801274">(Aug 03 2020 at 14:36)</a>:</h4>
<p>but it feels like that would be really useful and would help us in future sprints to work on impl questions</p>



<a name="205801302"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205801302" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205801302">(Aug 03 2020 at 14:36)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116113">lqd</span> <a href="#narrow/stream/186049-t-compiler.2Fwg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205/near/205801266">said</a>:</p>
<blockquote>
<p>would definitive set imply knowing whether these rules as-is are to be preferred to the equality variant ones ?</p>
</blockquote>
<p>I do think we should talk about the equality vs subset question</p>



<a name="205801336"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205801336" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205801336">(Aug 03 2020 at 14:36)</a>:</h4>
<p>note that I have an implementation of the equality variant which passed rustc tests except one</p>



<a name="205801351"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205801351" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205801351">(Aug 03 2020 at 14:37)</a>:</h4>
<p>I still feel like the equality relation ought to be an optimization, as a side note, and it's more correct, so I guess I'm biased there, but open to being persuaded :)</p>



<a name="205801381"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205801381" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205801381">(Aug 03 2020 at 14:37)</a>:</h4>
<p>where "correct" means "accepts more programs", I guess, but I think in particular accepts some programs rustc accepts today</p>



<a name="205801421"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205801421" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205801421">(Aug 03 2020 at 14:37)</a>:</h4>
<p>but maybe I don't remember correctly</p>



<a name="205801490"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205801490" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205801490">(Aug 03 2020 at 14:38)</a>:</h4>
<p>the equality variant being an optimization ?</p>



<a name="205801619"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205801619" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205801619">(Aug 03 2020 at 14:39)</a>:</h4>
<p>I think it started that way, and fixed a polonius-as-is imprecision, and then it had some imprecision that polonius didn't have, and to fix that we had to propagate some equality facts, and then some rustc tests failed and I had to add another TC and then it wasn't much of an optimization any more :)</p>



<a name="205801823"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205801823" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205801823">(Aug 03 2020 at 14:41)</a>:</h4>
<p>why don't we break some of these conversations out into a distinct topic at this point?</p>



<a name="205801828"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205801828" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205801828">(Aug 03 2020 at 14:41)</a>:</h4>
<p>I'm not sure if <span class="user-mention" data-user-id="204115">@Albin Stjerna</span> is still with us :)</p>



<a name="205801839"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205801839" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205801839">(Aug 03 2020 at 14:41)</a>:</h4>
<p>right I was doing that :)</p>



<a name="205801847"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205801847" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205801847">(Aug 03 2020 at 14:41)</a>:</h4>
<p>I am! I just didn't have anything useful to add :)</p>



<a name="205801863"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205801863" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205801863">(Aug 03 2020 at 14:41)</a>:</h4>
<p>that said, I think the equality should be an optimization just from "first principles", it has fewer relations to propagate</p>



<a name="205801869"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205801869" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205801869">(Aug 03 2020 at 14:41)</a>:</h4>
<p>it's also bi-directional</p>



<a name="205801918"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205801918" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205801918">(Aug 03 2020 at 14:42)</a>:</h4>
<p>we may not have figured out the right way to express those things yet, particularly not in datalog..</p>



<a name="205801958"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205801958" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205801958">(Aug 03 2020 at 14:42)</a>:</h4>
<p>right, I didn't yet take any advatage of bidirectionality</p>



<a name="205802142"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205802142" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205802142">(Aug 03 2020 at 14:44)</a>:</h4>
<p><span class="user-mention" data-user-id="204115">@Albin Stjerna</span> do you have some plans for what you want to be hacking on?</p>



<a name="205802164"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205802164" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205802164">(Aug 03 2020 at 14:44)</a>:</h4>
<p>I am torn because I was going to say that I would be happy to help mentor a bit how to report move errors</p>



<a name="205802172"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205802172" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205802172">(Aug 03 2020 at 14:44)</a>:</h4>
<p>but now <span class="user-mention" data-user-id="116113">@lqd</span> is giving me second thoughts ;)</p>



<a name="205802184"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205802184" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205802184">(Aug 03 2020 at 14:44)</a>:</h4>
<p>dang :)</p>



<a name="205802198"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205802198" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205802198">(Aug 03 2020 at 14:44)</a>:</h4>
<p>I started looking at reporting move errors in rustc, but I see what you mean</p>



<a name="205802220"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205802220" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205802220">(Aug 03 2020 at 14:45)</a>:</h4>
<p>I need to do something for half an hour if you really want to talk about it though :)</p>



<a name="205802223"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205802223" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205802223">(Aug 03 2020 at 14:45)</a>:</h4>
<p>though I think I would personally lean somewhat towards</p>
<ul>
<li>we should still report move errors</li>
<li>we should have an option to disable this part of polonius, but still have it compute whatever is needed for subset relations, presuming that's actually a perf win</li>
</ul>



<a name="205802230"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205802230" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205802230">(Aug 03 2020 at 14:45)</a>:</h4>
<p>I think it just would need to compute liveness?</p>



<a name="205802340"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205802340" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205802340">(Aug 03 2020 at 14:46)</a>:</h4>
<p>it will not be wasted to validate our move errors rules</p>



<a name="205802369"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205802369" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205802369">(Aug 03 2020 at 14:46)</a>:</h4>
<p>as I wrote above, I still feel the goal of polonius ought to ultimately be to be the borrow check library -- but I suspect that it may wind up depending on some "MIR library" and encapsulating fact generation as well</p>



<a name="205802385"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205802385" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205802385">(Aug 03 2020 at 14:46)</a>:</h4>
<p>and perhaps that means that the optimized variants don't even use datalog</p>



<a name="205802396"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205802396" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205802396">(Aug 03 2020 at 14:46)</a>:</h4>
<p>I still see a lot of value in having "reference implementations" we can test and publish</p>



<a name="205802415"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205802415" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205802415">(Aug 03 2020 at 14:46)</a>:</h4>
<p>and, you know, actually read</p>



<a name="205802428"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205802428" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205802428">(Aug 03 2020 at 14:47)</a>:</h4>
<p>that makes sense to me, I think we're all in agreement about that ?</p>



<a name="205802439"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205802439" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205802439">(Aug 03 2020 at 14:47)</a>:</h4>
<p>I had a look at how the fact generation code looks now, and it's still quite spaghetti</p>



<a name="205802447"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205802447" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205802447">(Aug 03 2020 at 14:47)</a>:</h4>
<p>ok so maybe if <span class="user-mention" data-user-id="204115">@Albin Stjerna</span> is interested we should push a bit more on that</p>



<a name="205802473"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205802473" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205802473">(Aug 03 2020 at 14:47)</a>:</h4>
<p>yeah, true, not sure if we had plans for how to clean that up</p>



<a name="205802483"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205802483" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205802483">(Aug 03 2020 at 14:47)</a>:</h4>
<p>Albin had some IIRC</p>



<a name="205802488"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205802488" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205802488">(Aug 03 2020 at 14:47)</a>:</h4>
<p>that reminds me that another imp't goal I think is to document some more of this stuff</p>



<a name="205802493"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205802493" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205802493">(Aug 03 2020 at 14:47)</a>:</h4>
<p>I did, but I've forgotten everything</p>



<a name="205802503"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205802503" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205802503">(Aug 03 2020 at 14:47)</a>:</h4>
<p>e.g., describing the input relations, and having some comments int he polonius book about what they are meant to represent</p>



<a name="205802558"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205802558" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205802558">(Aug 03 2020 at 14:48)</a>:</h4>
<p>it bothers me a bit that e.g. we have this debate about "where this fact should go, on entry or mid point" etc</p>



<a name="205802562"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205802562" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205802562">(Aug 03 2020 at 14:48)</a>:</h4>
<p>you had a nice chart at <a href="https://github.com/rust-lang/polonius/issues/117">https://github.com/rust-lang/polonius/issues/117</a></p>



<a name="205802564"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205802564" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205802564">(Aug 03 2020 at 14:48)</a>:</h4>
<p>I also think the spaghettiness comes from the fact that it's piggy-backing off of different parts of the code doing the same analysis in rust</p>



<a name="205802703"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205802703" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205802703">(Aug 03 2020 at 14:49)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/186049-t-compiler.2Fwg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205/near/205802447">said</a>:</p>
<blockquote>
<p>ok so maybe if <span class="user-mention silent" data-user-id="204115">Albin Stjerna</span> is interested we should push a bit more on that</p>
</blockquote>
<p>I'm sorry, I'm not sure I followed what "that" is here?</p>



<a name="205802724"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205802724" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205802724">(Aug 03 2020 at 14:49)</a>:</h4>
<p>(so I'll let you talk about move errors and will be back in 20-30 mins or so)</p>



<a name="205803309"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205803309" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205803309">(Aug 03 2020 at 14:53)</a>:</h4>
<p>(<span class="user-mention" data-user-id="204115">@Albin Stjerna</span>  not that it matters much since you don't need it right now, but Mark has indeed found the fix to our x.py check earlier issue, we might have hit a recent cargo bug, but we can work around it by using the regular <a href="http://crates.io">crates.io</a> patching feature in the root Cargo.toml, so it's even easier than our previous way of doing it)</p>



<a name="205803388"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205803388" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205803388">(Aug 03 2020 at 14:54)</a>:</h4>
<p>Ok, that's great!</p>



<a name="205803413"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205803413" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205803413">(Aug 03 2020 at 14:54)</a>:</h4>
<p>I mean, we don't currently need the fix and I'm happy we found the bug</p>



<a name="205803487"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205803487" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205803487">(Aug 03 2020 at 14:55)</a>:</h4>
<p>it does make my life easier rn :)</p>



<a name="205803525"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205803525" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205803525">(Aug 03 2020 at 14:55)</a>:</h4>
<p>(bbl)</p>



<a name="205812547"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/205812547" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#205812547">(Aug 03 2020 at 16:02)</a>:</h4>
<p>I will continue publishing the OOM-fix so y'all can take a look</p>



<a name="206003411"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/206003411" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#206003411">(Aug 05 2020 at 09:29)</a>:</h4>
<p>Wow, this is going fast. I'm glad we're doing it regardless. I was thinking -- do you think we can schedule the next one? I'd like to start organizing my time in more "sprint-like" fashion, actually (e.g., chalk week, polonius week, etc).</p>



<a name="206003532"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/206003532" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#206003532">(Aug 05 2020 at 09:31)</a>:</h4>
<p>once again my schedule is more easily manageable than both of yours for this, so I'd gladly do this again :)</p>



<a name="206004306"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/206004306" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#206004306">(Aug 05 2020 at 09:43)</a>:</h4>
<p>what would be a reasonable period ? I'll assume we can't easily do polonius week ... every week, what did you have in mind, once every 3 months or something like that ?</p>



<a name="206044980"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/206044980" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#206044980">(Aug 05 2020 at 16:32)</a>:</h4>
<p>I guess "what frequency" would have been the correct way to ask this question.</p>



<a name="206045400"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/206045400" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#206045400">(Aug 05 2020 at 16:35)</a>:</h4>
<p>in any case I have to leave for a bit of the evening, so I wanted to thank you all for organizing and participating in the sprint, I'm enjoying it very much. Super fun and motivating as always.</p>



<a name="206046416"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/206046416" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#206046416">(Aug 05 2020 at 16:42)</a>:</h4>
<p>Well, I don't know :)</p>



<a name="206046435"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/206046435" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#206046435">(Aug 05 2020 at 16:42)</a>:</h4>
<p>but I was thinking maybe we can do something in september at least <em>this</em> time</p>



<a name="206046447"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/206046447" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#206046447">(Aug 05 2020 at 16:43)</a>:</h4>
<p>every 3 months feels a bit too sparse to me</p>



<a name="206049358"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/206049358" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#206049358">(Aug 05 2020 at 17:05)</a>:</h4>
<p>true; september could work, especially if I can prepare better so we have more, say, PRs to review, well-defined problems to discuss, etc. Using my time outside of the sprint to ensure your time inside the sprint is well spent</p>



<a name="206114463"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/206114463" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#206114463">(Aug 06 2020 at 08:13)</a>:</h4>
<p>I'll try to keep working a bit in order to even remember what I was doing again, but sure I'd be up for another sprint!</p>



<a name="206114698"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/206114698" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#206114698">(Aug 06 2020 at 08:16)</a>:</h4>
<p>I mean, I have to figure out where the move errors go wrong :)</p>



<a name="206122118"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/206122118" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#206122118">(Aug 06 2020 at 09:54)</a>:</h4>
<p>nice, it went by way too fast</p>



<a name="206122133"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/206122133" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#206122133">(Aug 06 2020 at 09:54)</a>:</h4>
<p>that said, I was checking off boxes in the hackmd and I realized we got quite a lot done</p>



<a name="206122464"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/206122464" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#206122464">(Aug 06 2020 at 09:59)</a>:</h4>
<p>Enough that I'll have to go through the things I wasn't involved with to figure out what you actually did :)</p>



<a name="206122482"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/206122482" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#206122482">(Aug 06 2020 at 09:59)</a>:</h4>
<p>do you two think we should temporarily disable the move errors computation in polonius until this new work is done ? if it's super close to being finished there'd be no need to do so ofc</p>



<a name="206122725"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/206122725" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#206122725">(Aug 06 2020 at 10:03)</a>:</h4>
<p>Hmm. I think it makes sense given that we don't know what's broken and why</p>



<a name="206122753"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/206122753" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#206122753">(Aug 06 2020 at 10:03)</a>:</h4>
<p>So in the interest of having only something working in the repository, maybe disabling it would be a good idea, and it would also help with the OOMs</p>



<a name="206122775"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/206122775" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanda Stjerna <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#206122775">(Aug 06 2020 at 10:04)</a>:</h4>
<p>Which I guess would also accelerate your work on the other parts?</p>



<a name="206122986"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/206122986" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#206122986">(Aug 06 2020 at 10:06)</a>:</h4>
<p>it went by too fast for sure :) but it's an interesting process, that is, a seemingly nice way to batch up your time Niko (for polonius, chalk, and other projects) rather than cut into less useful 30mins bits weekly. In the meantime we can still work on it, that can help to have more work available in your next sprint, whether we can participate at the same time or not (with our TZ differences, there can still be overlap in late afternoon and evenings). Even if we weren't able to make much progress in-between sprints, there'd still be things to do for you during the sprint. That would allow it to be more frequent, like monthly, and so we could still have steady progress overall</p>



<a name="206123368"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/186049-t-compiler/wg-polonius/topic/sprint%20coordination%20Aug%203%20to%20Aug%205/near/206123368" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/186049-t-compiler/wg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205.html#206123368">(Aug 06 2020 at 10:12)</a>:</h4>
<p><span class="user-mention silent" data-user-id="204115">Albin Stjerna</span> <a href="#narrow/stream/186049-t-compiler.2Fwg-polonius/topic/sprint.20coordination.20Aug.203.20to.20Aug.205/near/206122775">said</a>:</p>
<blockquote>
<p>Which I guess would also accelerate your work on the other parts?</p>
</blockquote>
<p>it could, but I can disable them locally whenever I need to do anything</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>